package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.AdditionMoney;

import java.util.*;
public class AdditionMoneyExample extends SgExample<AdditionMoneyExample.Criteria> {
    public static final Class<AdditionMoney> beanClass = AdditionMoney.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn recordId;
    public static EntityColumn money;
    public static EntityColumn operateTime;
    public static EntityColumn mallUserId;
    public static EntityColumn type;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        recordId = listMap.get("recordId");
        money = listMap.get("money");
        operateTime = listMap.get("operateTime");
        mallUserId = listMap.get("mallUserId");
        type = listMap.get("type");
        }

    public AdditionMoneyExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected AdditionMoneyExample.Criteria createCriteriaInternal() {
        return new AdditionMoneyExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public AdditionMoneyExample.Criteria andRecordIdIsNull() {
            return isNull(recordId);
        }

        public AdditionMoneyExample.Criteria andRecordIdIsNotNull() {
            return isNotNull(recordId);
        }

        public AdditionMoneyExample.Criteria andRecordIdEqualTo(Long value) {
            return equalTo(recordId, value);
        }

        public AdditionMoneyExample.Criteria andRecordIdNotEqualTo(Long value) {
            return notEqualTo(recordId, value);
        }

        public AdditionMoneyExample.Criteria andRecordIdGreaterThan(Long value) {
            return greaterThan(recordId, value);
        }

        public AdditionMoneyExample.Criteria andRecordIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(recordId, value);
        }

        public AdditionMoneyExample.Criteria andRecordIdLessThan(Long value) {
            return lessThan(recordId, value);
        }

        public AdditionMoneyExample.Criteria andRecordIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(recordId, value);
        }

        public AdditionMoneyExample.Criteria andRecordIdIn(List<Long> values) {
            return in(recordId, values);
        }

        public AdditionMoneyExample.Criteria andRecordIdNotIn(List<Long> values) {
            return notIn(recordId, values);
        }

        public AdditionMoneyExample.Criteria andRecordIdBetween(Long value1, Long value2) {
            return between(recordId, value1, value2);
        }

        public AdditionMoneyExample.Criteria andRecordIdNotBetween(Long value1, Long value2) {
            return notBetween(recordId, value1, value2);
        }
        public AdditionMoneyExample.Criteria andMoneyIsNull() {
            return isNull(money);
        }

        public AdditionMoneyExample.Criteria andMoneyIsNotNull() {
            return isNotNull(money);
        }

        public AdditionMoneyExample.Criteria andMoneyEqualTo(String value) {
            return equalTo(money, value);
        }

        public AdditionMoneyExample.Criteria andMoneyNotEqualTo(String value) {
            return notEqualTo(money, value);
        }

        public AdditionMoneyExample.Criteria andMoneyGreaterThan(String value) {
            return greaterThan(money, value);
        }

        public AdditionMoneyExample.Criteria andMoneyGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(money, value);
        }

        public AdditionMoneyExample.Criteria andMoneyLessThan(String value) {
            return lessThan(money, value);
        }

        public AdditionMoneyExample.Criteria andMoneyLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(money, value);
        }

        public AdditionMoneyExample.Criteria andMoneyLike(String value) {
            return like(money, value);
        }

        public AdditionMoneyExample.Criteria andMoneyNotLike(String value) {
            return notLike(money, value);
        }

        public AdditionMoneyExample.Criteria andMoneyIn(List<String> values) {
            return in(money, values);
        }

        public AdditionMoneyExample.Criteria andMoneyNotIn(List<String> values) {
            return notIn(money, values);
        }

        public AdditionMoneyExample.Criteria andMoneyBetween(String value1, String value2) {
            return between(money, value1, value2);
        }

        public AdditionMoneyExample.Criteria andMoneyNotBetween(String value1, String value2) {
            return notBetween(money, value1, value2);
        }
        public AdditionMoneyExample.Criteria andOperateTimeIsNull() {
            return isNull(operateTime);
        }

        public AdditionMoneyExample.Criteria andOperateTimeIsNotNull() {
            return isNotNull(operateTime);
        }

        public AdditionMoneyExample.Criteria andOperateTimeEqualTo(Date value) {
            return equalTo(operateTime, value);
        }

        public AdditionMoneyExample.Criteria andOperateTimeNotEqualTo(Date value) {
            return notEqualTo(operateTime, value);
        }

        public AdditionMoneyExample.Criteria andOperateTimeGreaterThan(Date value) {
            return greaterThan(operateTime, value);
        }

        public AdditionMoneyExample.Criteria andOperateTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(operateTime, value);
        }

        public AdditionMoneyExample.Criteria andOperateTimeLessThan(Date value) {
            return lessThan(operateTime, value);
        }

        public AdditionMoneyExample.Criteria andOperateTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(operateTime, value);
        }

        public AdditionMoneyExample.Criteria andOperateTimeIn(List<Date> values) {
            return in(operateTime, values);
        }

        public AdditionMoneyExample.Criteria andOperateTimeNotIn(List<Date> values) {
            return notIn(operateTime, values);
        }

        public AdditionMoneyExample.Criteria andOperateTimeBetween(Date value1, Date value2) {
            return between(operateTime, value1, value2);
        }

        public AdditionMoneyExample.Criteria andOperateTimeNotBetween(Date value1, Date value2) {
            return notBetween(operateTime, value1, value2);
        }
        public AdditionMoneyExample.Criteria andMallUserIdIsNull() {
            return isNull(mallUserId);
        }

        public AdditionMoneyExample.Criteria andMallUserIdIsNotNull() {
            return isNotNull(mallUserId);
        }

        public AdditionMoneyExample.Criteria andMallUserIdEqualTo(Long value) {
            return equalTo(mallUserId, value);
        }

        public AdditionMoneyExample.Criteria andMallUserIdNotEqualTo(Long value) {
            return notEqualTo(mallUserId, value);
        }

        public AdditionMoneyExample.Criteria andMallUserIdGreaterThan(Long value) {
            return greaterThan(mallUserId, value);
        }

        public AdditionMoneyExample.Criteria andMallUserIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(mallUserId, value);
        }

        public AdditionMoneyExample.Criteria andMallUserIdLessThan(Long value) {
            return lessThan(mallUserId, value);
        }

        public AdditionMoneyExample.Criteria andMallUserIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(mallUserId, value);
        }

        public AdditionMoneyExample.Criteria andMallUserIdIn(List<Long> values) {
            return in(mallUserId, values);
        }

        public AdditionMoneyExample.Criteria andMallUserIdNotIn(List<Long> values) {
            return notIn(mallUserId, values);
        }

        public AdditionMoneyExample.Criteria andMallUserIdBetween(Long value1, Long value2) {
            return between(mallUserId, value1, value2);
        }

        public AdditionMoneyExample.Criteria andMallUserIdNotBetween(Long value1, Long value2) {
            return notBetween(mallUserId, value1, value2);
        }
        public AdditionMoneyExample.Criteria andTypeIsNull() {
            return isNull(type);
        }

        public AdditionMoneyExample.Criteria andTypeIsNotNull() {
            return isNotNull(type);
        }

        public AdditionMoneyExample.Criteria andTypeEqualTo(Integer value) {
            return equalTo(type, value);
        }

        public AdditionMoneyExample.Criteria andTypeNotEqualTo(Integer value) {
            return notEqualTo(type, value);
        }

        public AdditionMoneyExample.Criteria andTypeGreaterThan(Integer value) {
            return greaterThan(type, value);
        }

        public AdditionMoneyExample.Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(type, value);
        }

        public AdditionMoneyExample.Criteria andTypeLessThan(Integer value) {
            return lessThan(type, value);
        }

        public AdditionMoneyExample.Criteria andTypeLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(type, value);
        }

        public AdditionMoneyExample.Criteria andTypeIn(List<Integer> values) {
            return in(type, values);
        }

        public AdditionMoneyExample.Criteria andTypeNotIn(List<Integer> values) {
            return notIn(type, values);
        }

        public AdditionMoneyExample.Criteria andTypeBetween(Integer value1, Integer value2) {
            return between(type, value1, value2);
        }

        public AdditionMoneyExample.Criteria andTypeNotBetween(Integer value1, Integer value2) {
            return notBetween(type, value1, value2);
        }
    }
}